This invention relates to data processing systems and more particularly to method and apparatus for dynamically varying the rate at which data is written in or read from peripheral devices.
A peripheral subsystem of a data processing system typically includes one or more peripheral devices for storing or reproducing data and a peripheral control unit for controlling the transfer of the data between the peripheral devices and a central processing unit (CPU). The CPU directs the operations performed by the peripheral control unit through commands contained in programs stored in and executed by the CPU. Commands are supplied to the peripheral control unit which processes the commands, carries out the indicated operations, and supplies appropriate status information to the CPU.
Although a variety of operations may be carried out by the peripheral control unit in response to commands from the CPU, the ultimate operation is either applying data to or reading data from the peripheral devices. Devices commonly used for storing data include magnetic tape units, magnetic disk units and the like. For each type unit, there is generally a variety of different models, some of which have different read/write capabilities such as read/write operating speed, i.e., speed at which the storing medium (e.g. tape or disk) moves. Obviously, the flexibility and therefore attractiveness of a data processing system would be enhanced if the system and its peripheral control units had the capability of operating with a plurality of peripheral devices having different read/write capabilities.
In systems in current use, the logic of the peripheral control units used in such systems is hard wired to enable the peripheral control units to operate with certain specific peripheral device models. If such peripheral control units are to operate with peripheral device models other than those for which the control units were originally designed, then hardware logic changes must be made in the control units so that they will be compatible with the other devices. For example, such changes might include modification of the read/write timing of the peripheral control units to enable the units to function with the added peripheral devices. Such logic changes and modifications, of course, are both time consuming and costly.